🔀 III. 알고리즘과 프로그래밍 > 04 논리 연산

조건문과 논리 연산

"만약 ~라면" — 상황에 따라 다르게 행동하게 만드는 선택 구조!
비교 연산자와 AND · OR · NOT으로 똑똑한 조건을 직접 만들어 봅시다. 🔀

조건문
비교 연산자
AND · OR · NOT

학습 목표

[9정03-04] 선택 구조와 논리 연산을 활용하여 문제를 해결하는 프로그램을 작성한다

  • 선택 구조(조건문)가 무엇인지 알고, 조건의 참/거짓에 따라 흐름이 갈라짐을 설명할 수 있다.
  • 비교 연산자(>, <, ==, ≠ 등)로 두 값을 비교하고 결과를 예측할 수 있다.
  • 논리 연산자 AND · OR · NOT의 의미를 이해하고 진리표로 결과를 구할 수 있다.

생각 열기 🤔

엄마가 말씀하셨어요. "숙제를 다 했고, 방 청소도 했으면 게임 30분 해도 돼." 🎮 이때 게임을 할 수 있으려면? 두 조건이 모두 참이어야 하죠.

이렇게 우리는 매일 "만약 ~라면 …한다"라는 조건으로 판단하며 살아요. 컴퓨터도 똑같이 조건을 따져 행동을 결정해요. 그 판단의 도구가 바로 조건문과 논리 연산이에요!

💡 "그리고(AND)", "또는(OR)", "아니다(NOT)" — 이 세 마디로 똑똑한 조건을 만들 수 있어요.

1. 선택 구조 (조건문)

만약 ~라면, 그렇지 않으면…

선택 구조(조건문)조건이 참인지 거짓인지에 따라 실행할 일을 다르게 고르는 구조예요. 순서도에서는 마름모(판단)로 그렸죠! 프로그램은 조건이 참(true)이면 이 길, 거짓(false)이면 저 길로 가요.

버튼과 동전 투입구가 있는 음료 자판기

🥤 자판기도 조건으로 움직여요

자판기는 늘 "만약 ~라면"으로 판단해요. 넣은 돈이 가격 이상이면 음료를 내주고, 모자라면 "금액 부족"을 띄우죠. 조건이 참이냐 거짓이냐에 따라 다른 행동을 고르는 것, 이게 바로 선택 구조예요.

© MarkBuckawicki · CC0 · Wikimedia Commons

💻 의사코드로 보면

만약 점수 >= 60 이면
출력 "합격 🎉"
아니면
출력 "불합격 😢"

↑ 점수가 60점 이상이면 합격, 아니면 불합격!

🧩 스크래치 블록

만약 < 점수 >= 60 > (이)라면
"합격" 말하기
아니면
"불합격" 말하기

🎚️ 인터랙티브 · 조건 평가기 (합격/불합격)

슬라이더로 점수를 바꾸면, 점수 >= 60 조건의 참/거짓에 따라 어느 길로 가는지 실시간으로 보여줘요!

점수 75
점수(75) >= 60 ?
🎉

합격!

(조건이 참일 때)

😢

불합격

(조건이 거짓일 때)

점수 75점 → 조건이 이므로 합격 🎉
💡 똑같은 프로그램이라도 점수(입력값)에 따라 결과가 달라져요. 슬라이더를 60 아래로 내려 보세요!

2. 비교 연산자

두 값을 견주어 참/거짓을 만든다

조건은 보통 두 값을 비교해서 만들어요. 이때 쓰는 기호가 비교 연산자예요. 비교 연산자의 결과는 언제나 참(true) 아니면 거짓(false), 둘 중 하나예요! 예를 들어 7 > 3 은 참, 2 == 5 는 거짓이죠.

>~보다 크다

예) 점수 > 90 → 90 초과일 때 참

<~보다 작다

예) 나이 < 14 → 14 미만일 때 참

>=크거나 같다

예) 점수 >= 60 → 60 이상일 때 참

<=작거나 같다

예) 인원 <= 30 → 30 이하일 때 참

==같다

예) 비밀번호 == 입력값 → 같으면 참

!=같지 않다

예) 답 != 정답 → 다르면 참 (≠)

주의! "같다"는 등호 하나(=)가 아니라 두 개(==)예요. 등호 하나는 대입(값 저장), 두 개는 비교(같은지 확인)! 많은 사람이 헷갈리는 부분이랍니다.

⚖️ 인터랙티브 · 비교 연산자 놀이터

두 수 AB를 바꿔 보세요. 여섯 가지 비교 결과가 실시간으로 참/거짓을 보여줘요!

vs
A > B거짓
A < B거짓
A == B거짓
A != B거짓
A >= B거짓
A <= B거짓
💡 A와 B를 같은 값으로 만들어 보세요. ==>=, <= 가 동시에 참이 되는 게 보이나요?

3. 논리 연산자 (AND · OR · NOT)

여러 조건을 묶어 더 똑똑하게

조건이 하나로 부족할 때가 있어요. "숙제를 했고 그리고 청소도 했으면"처럼요. 이렇게 여러 조건을 묶을 때 쓰는 것이 논리 연산자예요. 논리 연산자도 결과는 참 아니면 거짓, 둘 중 하나랍니다.

74LS32 논리 게이트 집적회로(IC) 칩

🔌 컴퓨터 속에 진짜로 들어 있는 AND·OR

이 작은 칩 속에는 논리 게이트가 들어 있어요(74LS32는 OR 게이트). 컴퓨터의 두뇌(CPU)는 이런 AND·OR·NOT 게이트 수십억 개로 만들어져요. 우리가 배우는 논리 연산이 곧 컴퓨터가 계산하는 방식 그 자체랍니다.

© Mister rf · CC BY-SA 4.0 · Wikimedia Commons

AND그리고

둘 다 참일 때만 참! 하나라도 거짓이면 거짓이에요.

🎮 숙제 완료 AND 청소 완료
→ 둘 다 했을 때만 게임 OK!
OR또는

하나라도 참이면 참! 둘 다 거짓일 때만 거짓이에요.

🍕 피자 좋아 OR 치킨 좋아
→ 하나만 좋아해도 같이 주문!
NOT아니다

참/거짓을 뒤집어요! 참 → 거짓, 거짓 → 참.

🌧️ NOT (비가 온다)
→ 비가 안 오면 참 → 소풍 간다!

🔌 인터랙티브 · 논리 연산 스위치 & 진리표

두 조건 P, Q의 스위치를 켜고(참) 꺼(거짓) 보세요. AND·OR·NOT 결과와 진리표에서 지금 위치가 함께 빛나요!

조건 P

눌러서 켜기/끄기

조건 Q

눌러서 켜기/끄기

P AND Q

거짓

P OR Q

거짓

NOT P

📋 진리표 — 지금 조합에 해당하는 줄이 강조돼요

PQ P AND Q P OR Q NOT P
거짓거짓거짓거짓
거짓거짓
거짓거짓거짓
거짓
💡 AND는 둘 다 켜야 참, OR은 하나만 켜도 참이에요. NOT P는 P 스위치와 항상 반대로 움직이죠!

참고 — 진리표로 한눈에 (성취기준 밖 심화)

PQP AND QP OR QNOT P
거짓
거짓거짓거짓
거짓거짓
거짓거짓거짓거짓

🔌 컴퓨터의 두뇌도 논리예요

CPU는 AND·OR·NOT 논리 게이트 수십억 개로 계산해요. 또 NOT(A 그리고 B) = (NOT A) 또는 (NOT B)처럼 논리를 바꿔 쓰는 규칙(드모르간 법칙)도 있답니다.

핵심 정리

🔀

선택 구조 (조건문)

조건의 참/거짓에 따라 실행할 일을 다르게 고르는 구조. 순서도에서는 마름모(판단)로 그린다.

⚖️

비교 연산자

> < >= <= == != 로 두 값을 견준다. 결과는 항상 참 또는 거짓. "같다"는 == (등호 두 개!).

🔌

논리 연산자

AND(둘 다 참), OR(하나라도 참), NOT(참/거짓 뒤집기). 여러 조건을 묶어 똑똑하게 판단한다.

확인 퀴즈

5문제로 논리 연산을 점검해 봐요!

1

조건의 참/거짓에 따라 실행할 일을 다르게 고르는 구조를 무엇이라 하나요?

순차 구조
반복 구조
선택 구조 (조건문)
입력 구조
2

8 >= 8 의 결과는 무엇일까요?

참 (true)
거짓 (false)
오류가 난다
8
3

두 값이 "같은지" 비교할 때 쓰는 연산자는 무엇인가요?

= (등호 하나)
== (등호 두 개)
!=
>=
4

AND 연산이 이 되는 경우는 언제인가요?

하나라도 참이면
둘 다 거짓일 때만
언제나 참
두 조건이 모두 참일 때만
5

P가 일 때, NOT P 의 결과는?

참 (그대로)
거짓 (뒤집힌다)
P와 Q를 더한 값
알 수 없다